FHIR Typescript Types
Typescript types generated off of FHIR StructureDefinitions.
Usage
import { Observation, Patient, id } from "@iguhealth/fhir-types/r4/types";
const patient: Patient = {
name: [
{
use: "official",
given: ["Eve"],
family: "Williams",
},
],
active: true,
gender: "female",
address: [
{
use: "home",
line: ["2222 Home Street"],
},
],
telecom: [
{
use: "work",
value: "555-555-2003",
system: "phone",
},
],
birthDate: "1973-05-31",
identifier: [
{
type: {
coding: [
{
code: "SS",
system: "http://terminology.hl7.org/CodeSystem/v2-0203",
},
],
},
value: "444222222",
system: "http://hl7.org/fhir/sid/us-ssn",
},
],
resourceType: "Patient",
managingOrganization: {
reference: "Organization/hl7",
},
};
Sets
Sets can be used to determine whether a type is a resource, primitive or complex type. These are utilities that can be useful
name | description |
---|---|
resourceTypes | String set of FHIR resource types |
complexTypes | String set of FHIR complex types (HumanName, Identifier etc...). |
primitiveTypes | String set of FHIR primitive types (string, id, decimal etc...). |
Usage
import { primitiveTypes, resourceTypes } from "@iguhealth/fhir-types/r4/sets";
function isPrimitiveType(type: string) {
returnprimitiveTypes.has(type);
}
function isResourceType(type: string) {
returnresourceTypes.has(type);
}
Utility Types
Various utility types generally used for Typescript generic functions.
Name | Description |
---|---|
ResourceType | One of the resourcetypes, ie "Patient", "Observation". |
AResource | Generic type with an argument of ResourceType, when passed in, returns an instance of ResourceType IE AResource<"Patient"> = Patient |
Resource | An instance of one of the resource types |
Example
Pulled from @iguhealth/client this example passes in an argument of ResourceType which is a string of only allowed ResourceTypes and using AResource returns an object in conformance with the type passed in.
read<T extends ResourceType>(
ctx: CTX,
resourceType: T,
id: id
): Promise<AResource<T> | undefined>;